export const ArrayUtils = {
    // 获取数组中的最大值
    getMaxValue: (arr) => Math.max(...arr),

    // 获取数组中的最小值
    getMinValue: (arr) => Math.min(...arr),

    // 数组求和
    sum: (arr) => arr.reduce((acc, val) => acc + val, 0),

    // 数组平均值
    average: (arr) => arr.reduce((acc, val) => acc + val, 0) / arr.length,

    // 数组去重
    unique: (arr) => [...new Set(arr)],

    // 数组排序，默认升序
    sort: (arr, order = 'asc') => {
        if (order === 'asc') {
            return arr.sort((a, b) => a - b);
        } else if (order === 'desc') {
            return arr.sort((a, b) => b - a);
        }
        return arr;
    },

    // 数组过滤，返回符合条件的元素组成的新数组
    filter: (arr, callback) => arr.filter(callback),

    // 数组映射，返回对应的新数组
    map: (arr, callback) => arr.map(callback),

    // 是否为空
    isNotEmpty: (arr) => arr.length > 0,

    // 是否为空
    isEmpty: (arr) => arr == null || arr.length < 1,
};


